CPU/SA-1 MIRRORS
----------------
SA-1		CPU
00:0000-00:07FF	00:3000-00:37FF

CPU BANK MIRRORS
----------------
40:0000-40:07FF	7F:F800-7F:FFFF
40:0800-40:0FFF	7F:F800-7F:FFFF
40:1000-40:1FFF	00:9000-00:9FFF
40:2000-40:3FFF	00:6000-00:7FFF
40:4000-40:7FFF	VRAM shadow

SA-1 MEMORY
-----------
00:2200-00:23FF	HWREGISTERS
00:3000-00:37FF	IRAM
00:6000-00:7FFF	WRAM

OAM MEMORY
----------
0000-000C battle numerals/digits (4 bytes each)

ARAM MEMORY (AUDIO)
-------------------
3000-3400 EVT Sound FX APU Register Pointers (256 sounds total, 4 bytes each)
3400-4169 EVT Sound FX Stats

RAM MEMORY
----------
00:3030	current area (2 bytes)
00:3032 current # open character slots (1 to 5)
00:3033 character in slot 1
00:3034 character in slot 2
00:3035 character in slot 3
00:3036 character in slot 4
00:3037 character in slot 5
00:303F	current # characters in party (1 to 3)
00:3051 current sound effect (event)
00:30DE timed hit variable
00:30F0 Game current score
00:30F4 Game hi-score
00:3112 menu accessibility (EF inaccessible, FF accessible)
00:3113	directions Mario can walk
	bit 0 - left
	bit 1 - right
	bit 2 - down
	bit 3 - up
00:3117	screen scrolling (00 screen scrolls w/Mario, 01 screen stays put)

OBJECT 0 (Mario)
00:6000	X coord (2 bytes)
00:6002	Y coord (2 bytes)
00:6004	Z coord (2 bytes)

00:6006 

00:6007	Mario's sprite
	bit 6 - allow sequence animation
	bit 7 - active/visible

00:6008	bit 0-3 - facing direction
	bit 6 - sprite priority 2
	bit 7 - sprite priority 3

00:6009	bit 6 - layer priority 

00:600A	bit 0 - 
	bit 1 - can't walk under
	bit 2 - can't pass walls
	bit 3 - can't jump through
	bit 4 - 
	bit 5 - can't pass other NPCs
	bit 6 - can't walk through
	bit 7 - 

00:600B	bit 0 - can slide along walls

00:600C	bit 4 - walking underwater
	bit 5 - wading through water
	bit 6 - in air (jumping/falling)
	bit 7 - up-left

00:600D bit 7 - shadow

00:600E

00:600F	bit 0-5 - above npc #
	bit 6 - 
	bit 7 - on top of npc

00:601B	palette
00:601C	Mario's idle sprite
00:601E	Mario's walking sprite
00:6021	Animation Sequence frame
00:6052	event script
00:6059 bit 0-3 - trigger type
00:605A bit 4-7 - trigger type

OBJECT 1
00:6060

OBJECT 2
00:60C0

OBJECT 3-6 (BG layers)
00:6120	Sprite Layer settings (96 bytes)
00:6180	BG1 settings (96 bytes)
00:61E0	BG2 settings (96 bytes)
00:6240	BG3 settings (96 bytes)

OBJECT 7-34 (NPC objects)
00:62A0 - 00:6D1F 28 NPC objects, 96 bytes each

00:6D20 - 00:6F1F object presence in levels, by level (# of bits dynamic by level)

40:2C00 - 40:2CFF animation packet memory, used with animation scripting in battle

00:6F5A	current event script ROM address (3 bytes)
00:6F69 current object memory address (2 bytes)

00:7022	frame duration of invincible star (2 bytes)

00:7040	bit 0 - battle was lost
	bit 1 - ran away from battle

00:7042 bit 0 - temporary event flag...

00:7043	bit 0 - Bowser's Keep: Terrapin guards have been defeated
	bit 1 - Bowser's Keep: bridge has collapsed

00:7044	bit 7 - returning from saved game

00:704C	bit 6 - kid with beetle mania game will now sell it

00:704D	bit 3 - Bandit's Way 5: warp available

00:704E bit 0 - Midas River: Received Nok Nok Shell
	bit 4 - Moleville: Item trader woman has been talked to 1st time

00:704F bit 1 - Belome Temple: Mario has paid for shortcut to surface
	bit 4 - Land's End: Rat from Monstro Town has been talked to 1st time
	bit 7 - Land's End Underground: Mario has bought normal star

00:7050 bit 1 - Land's End Underground: Mario has bought better star
	bit 3 - Land's End Underground: Shaman has said "come back later for better star"
	bit 6 - Belome Temple: Mario has paid for fortune telling

00:7051	bit 0 - Tadpole Pond: Frogfucius has divulged information
	bit 1 - Tadpole Pond: Mario has talked to tadpoles, Frogfucius
	bit 3 - Tadpole Pond: Frogfucius has recieved Cricket Jam
	bit 4 - Tadpole Pond: Alto Card achieved
	bit 5 - Tadpole Pond: Frog Coin Emporium tadpole has been talked to 1st time
	bit 6 - Tadpole Pond: Toadofsky has been talked to 1st time
	bit 7 - Tadpole Pond: 

00:7052	bit 0 - Tadpole Pond: Composer's Staff description 1st time
	bit 1 - 
	bit 2 - Mario's Pad: Mario has fallen into pipehouse
	bit 4 - Mushroom Way 1: Toad's been saved from Goomba
	bit 5 - Mushroom Way 2: Toad's been saved from Sky Troopa
	bit 6 - Mushroom Way 3: Hammer Bros have been beaten
	bit 7 - Mario's Pad: Toad has explained (or Mario has used) Save Point

00:7053	bit 0 - Mario's Pad: Toad has talked to Mario after falling into pipehouse
	bit 1 - Mario's Pad: Exor has been talked to, Toad is inside pipehouse
	bit 2 - Mario's Pad: Mario has illustrated to Toad the Keep's bridge going out
	bit 3 - Mario's Pad: Toad has bumped into Mario and informed about Mushroom Way

00:7054	bit 1 - Booster Tower: Meet Booster for 1st time (on railway)
	bit 5 - Tadpole Pond: Tenor Card achieved
	bit 6 - Tadpole Pond: Soprano Card achieved
	bit 7 - Seaside Town (before Yarid): Fake Elder has been talked to 1st time

00:7055	bit 0 - Kero Sewers Entrance: Mario and Mallow enter 1st time
	bit 1 - Kero Sewers Entrance: 
	bit 2 - Kero Sewers: Belome Defeated
	bit 3 - Kero Sewers: Mallow has said "Now THAT's what I call a door!"
	bit 7 - Barrel Volcano: Meet Hinopio for 1st time

00:7056	bit 0 - Rose Way: Bowser's troops have marched out
	bit 1 - Moleville Mines: Miners have asked Mario to find kids
	bit 2 - Moleville Mines: Miner has used bomb to blow up wall
	bit 5 - Moleville Mines: Croco has been beaten
	bit 6 - ????: Flunkie complains about something

00:7057 bit 1 - Sea: Shaman Salesman has been talked to 1st time
	bit 4 - Moleville Mines: Dyna is trying to start the minecart rolling

00:7058	bit 2 - Sunken Ship: Johnny's Red Bandanas have been beaten
	bit 3 - Moleville Mines: Wall Bomber Miner has been talked to 1st time
	bit 7 - Seaside Town: Johnny has been beaten, Yaridovich gang waiting at entrance

00:7059 bit 0 - Booster Tower: Mario has received the Star Egg
	bit 3 - Booster Tower: Mario has received Rock Candy from Knife Guy
	bit 5 - Factory Grounds: Toad has arrived at the Factory Grounds

00:705D	bit 4 - 
	bit 5 - Mushroom Kingdom Castle 1: Princess is back

00:7062 event flag: add menu option to overworld menu
	bit 0 - Map
	bit 1 - Star Pieces
	bit 2 - Switch
	bit 3 - Game

WORLD MAP POINT APPEARANCE
00:7065 bit 0 - Mario's Pad
	bit 1 - To Bowser's Keep
	bit 2 - Mushroom Way
	bit 3 - Mushroom Kingdom
	bit 4 - Bandit's Way
	bit 5 - To Kero Sewers
	bit 6 - Midas River
	bit 7 - Tadpole Pond

00:7066	bit 0 - Rose Way
	bit 1
	bit 2 - Rose Town
	bit 3 - Forest Maze
	bit 4 - Pipe Vault/To Moleville
	bit 5 - Yo'ster Isle
	bit 6 - Booster Pass
	bit 7 - Booster Tower

00:7067	bit 0 - Booster Hill/Marrymore 
	bit 1 - Star Hill 
	bit 2 - Seaside Town 
	bit 3 - Sea 
	bit 4 - Sunken Ship 
	bit 5 - To Land's End 
	bit 6 - Monstro Town 
	bit 7 - Bean Valley 

00:7068	bit 0 - To Nimbus Land 
	bit 1 - Barrel Volcano 
	bit 2 - To Bowser's Keep 
	bit 3 - To Mario's Pad/Vista Hill
	bit 4
	bit 5 - Gate
	bit 6
	bit 7 - Bowser's Keep

WORLD MAP POINT ACCESSIBILITY
00:706D	bit 0 - Mario's Pad
	bit 1 - To Bowser's Keep
	bit 2 - Mushroom Way
	bit 3 - Mushroom Kingdom
	bit 4 - Bandit's Way
	bit 5 - To Kero Sewers
	bit 6 - Midas River
	bit 7 - Tadpole Pond

00:706E	bit 0 - Rose Way
	bit 1
	bit 2 - Rose Town
	bit 3 - Forest Maze
	bit 4 - Pipe Vault/To Moleville
	bit 5 - Yo'ster Isle
	bit 6 - Booster Pass
	bit 7 - Booster Tower

00:706F	bit 0 - Booster Hill/Marrymore 
	bit 1 - Star Hill 
	bit 2 - Seaside Town 
	bit 3 - Sea 
	bit 4 - Sunken Ship 
	bit 5 - To Land's End 
	bit 6 - Monstro Town 
	bit 7 - Bean Valley 

00:7070	bit 0 - To Nimbus Land 
	bit 1 - Barrel Volcano 
	bit 2 - To Bowser's Keep 
	bit 3 - To Mario's Pad/Vista Hill
	bit 4
	bit 5 - Gate
	bit 6
	bit 7 - Bowser's Keep

00:7076	bit 0 - invincibility

00:7077	bit 0 - Bandit's Way 1 - Croco has rifled through bag
	bit 1 - Bandit's Way 2 - Croco has jumped on rotating flower
	bit 2 - Bandit's Way 3 - Croco has run away
	bit 3 - Bandit's Way 4 - Croco has been tempted by treasure

00:7081 bit 1 - 
	bit 2 - Mushroom Kingdom Castle Throne Room - Princess is back
	bit 3 - Mushroom Kingdom - Mallow chases Croco, cries
	bit 5 - Mushroom Kingdom - raining noise
	bit 6 - Mushroom Kingdom - Mallow has joined the party
	bit 7 - Bandit's Way 5 - Croco has been beaten

00:7082	bit 0 - Mushroom Kingdom: Mack has been beaten
	bit 1 - 
	bit 2 - Mushroom Kingdom - Toad has reported Croco to Mario

00:7083	bit 3 - Tadpole Pond: 
	bit 6 - Rose Town: Bowyer has been beaten

00:7084	bit 7 - Rose Town: Geno has come to life
00:7085	bit 0 - Rose Town: Gaz scene complete

00:7086	bit 0 - Seaside Town: Yaridovich has been beaten
	bit 1 - Seaside Town: 
	bit 6 - Seaside Town: people have been released from the Shed

00:7087	bit 6 - Tadpole Pond: Juice Bar tadpole has been talked to 1st time

00:7088	bit 4 - Seaside Town: Frogfucius disciple has been talked to 1st time
	bit 6 - Monstro Town: Thwomp has knocked the key off the ledge
	bit 7 - Monstro Town: Bowser has talked to Goomba

00:7089	bit 0 - Monstro Town: Mario has talked to music star
	bit 1 - Monstro Town: Mario has talked to Monstermama 1st time

00:708A	bit 0 - Monstro Town: Monstermama has dispatched Troopas
	bit 1 - Jinx's Dojo: Bowser has talked to Jagger
	bit 2 - Jinx's Dojo: Jagger has been beaten
	bit 3 - Jinx's Dojo: Jinx has been beaten 1st time
	bit 4 - Jinx's Dojo: Jinx has been beaten 2nd time
	bit 5 - Jinx's Dojo: Jinx has been beaten 3rd time

00:7092	bit 0 - Monstro Town: talk to Chow, Mario has done 30 jumps
	bit 1 - Monstro Town: talk to Chow
	bit 2 - Monstro Town: talk to Chow, Mario has done 100 jumps
	bit 4 - Monstro Town: Chester has been talked to 1st time

00:7093	bit 4 - Monstro Town: Piranha plant thinks Culex moved away

00:70B1 number of flowers found at Booster Hill
00:70C8	hidden treasure chest count
00:70C9	number of wins from Knife Guy's juggling game (decremented on each loss)
00:70D8 number of cookies in bank
00:70EF	number of wins from "look the other way"

00:7E00-00:7EFF  frame timer (256 bytes, each address - 2 frames)

////////////////////////////////////////////////////////////////////////

WRAM
----
7E:0044 damage accumulated by consecutive super jumps
7E:0048 current formation (2 bytes)
7E:004B battlefield BG

7E:0225	dialogue option chosen (0 - 1st option, 1 - 2nd option, etc...)
7E:0335	current music
7E:03CC physical field byte

7E:0490

7E:04E4	current interactive object

7E:0539 spell to use
7E:072A command to use
ALLY
00    nothing
01    defense/display numbers for regen/degen
02    attack
03    spell
04    item
05    run away

ENEMY
03    regular attack
04    special attack

7E:072C spell about to be used
7E:072D ?
7E:072E ? (something to do with monsters)
7E:0730	current battle target
7E:0732	???

7E:091C-0924 menu option 1-9
00   Equip
01   Item
02   Special
03   Status
04   Special Item
05   Map
06   Star Pieces
07   Switch
08   Game
7E:0926 # of party members
7E:0928 which menu option the cursor is on
7E:09E5	current world map location
7E:09E6	current world map

7E:1D00	current music
7E:1D01 current sound effect

7E:2000 current background color (2 bytes)
7E:2100 

7E:2940 item bytes

7E:3944 Background
7E:3942 Background screen wrap (bottom; on entrance)

7E:4190	current HP slot 1, digit 1 (top)
7E:4192	current HP slot 1, digit 2 (top)
7E:4194	current HP slot 1, digit 3 (top)
7E:4196	current HP slot 1, slash bar (top)
7E:4198	max HP slot 1, digit 1 (top)
7E:419A	max HP slot 1, digit 2 (top)
7E:419C	max HP slot 1, digit 3 (top)
7E:41D0	current HP slot 1, digit 1 (bottom)
7E:41D2	current HP slot 1, digit 2 (bottom)
7E:41D4	current HP slot 1, digit 3 (bottom)
7E:41D6	current HP slot 1, slash bar (bottom)
7E:41D8	max HP slot 1, digit 1 (bottom)
7E:41DA	max HP slot 1, digit 2 (bottom)
7E:41DC	max HP slot 1, digit 3 (bottom)

7E:5800-7E:5FFF	BG3 overworld menu tilemap

7E:6000-7E:6FFF	overworld menu item list

7E:7040 spell list in battle (6 bytes)

7E:7090 spell FP for menu slot 1

7E:70D4	current HP slot 1, digit 1 (hex to dec: HP / #$0064 - digit 1)
7E:70D6	current HP slot 1, digit 2 (hex to dec: HP / #$0064, remainder / #$000A - digit 2)
7E:70D8	current HP slot 1, digit 3 (hex to dec: HP / #$0064, remainder / #$000A, remainder - digit 3)
7E:70DA	slot 1, / slash bar
7E:70DC	max HP slot 1, digit 1
7E:70DE max HP slot 1, digit 2
7E:70E0 max HP slot 1, digit 3

7E:7248	current HP slot 2, digit 1
7E:724A	current HP slot 2, digit 2
7E:724C	current HP slot 2, digit 3
7E:724E	slot 2, / slash bar
7E:7250	max HP slot 2, digit 1
7E:7252 max HP slot 2, digit 2
7E:7254 max HP slot 2, digit 3

EXPANDED WRAM
-------------
7E:D123 current formation

CURRENT PARTY MEMBER'S STATS
00 Mortal Status
	bit 6: disable target
	bit 7: remove target
01 Party Member

10 Level
11 Current HP (2 bytes)
13 Maximum HP (2 bytes)
15 Speed
16 Attack
17 Defense
18 Magic Attack
19 Magic Defense
1A Current EXP (2 bytes)
1C equipped weapon
1D equipped armor
1E equipped accessory
1F unused byte*
20 spell list (4 bytes)
21 spell list
22 spell list
23 spell list

2D current sprite index
2E weapon animation to display

Fainted Value Backups 
NOTE: If an attack sets current HP to 0 under any circumstance, it resets the status of the character.
      But if the character blocks an attack, it actually heals the character the value they had blocked.
      And, if this block sets the attack to 0 and the attack would've KO'd the character but didn't, it still resets status of the character.
      The current status of the character would be saved in the following values, in case the character blocked and survived an attack that would've otherwise set their HP to 0.
NOTE: The parenthesis are the values being backed up.
30 (40) status ailment
31 (41) status bonus
33 (43) status ailment turn timer
35 (11) current HP
36 (12) byte 2

37 targetting X coord
38 targetting Y coord

40 status ailment (if any)
	01 Mute
	02 Sleep
	04 Poison
	08 Fear
	10 *confuse (unused ailment)
	20 Mushroom
	40 Scarecrow
	80 Invincible

41 status bonus
	01 Monster's Invincibility
	02 Mortality Protection
	04 Defend (the ETC command)
	08 Magic Attack Up
	10 Attack Up
	20 Magic Defense Up
	40 Defense Up
	80 Fainted

42 
	01 ??
	02 ??
	04 displays Defend/blocking frame on recoil

43 status ailment turn timer
44 Disabled buttons + Once again
	01 Disables Attack command
	02 Disables Special command
	04 Disables Item command
	08 Disables Misc command
	10 Once Again! bonus
	20 ... nothing?
	40 Hide damage numerals
	80 Displays damage numbers (if clear, displays MISS)
45 amount of damage to display (2 bytes)
46 byte 2 (NOTE: If bit 7 set, displays green damage numbers. If clear, displays white)

4B element on weapon
4C elemental ineffectiveness
4D elemental strengths
4E status ailment protection
4F status bonuses from equipment

Battlescript stuff
50-51 starting pointer for monster's battle script
52-57 used, but unknown

Timing Ranges for weapon (5C-5F)
5C 1.5x start
5D 2x start
5E 2x end	(NOTE: On MONSTERS, used for damage increments for spells (i.e. Fire Orb sets uses this value each time the button is pressed)
5F 1.5x end

70-71 modified speed
72-73 modified attack
74-75 modified defense
76-77 modified mg.attack
78-79 modified mg.defense

7A weapon's RNG attack range

7E:E000 - 7E:E00F   variables used in battle scripts
7E:E010 Jump power increment counter
7E:E012 Mystery Egg/Lamb's Lure counters
	Mystery Egg counter decrements from 10 to 0
	Lamb's Lure counter increments from 0 to 48
7E:E013 Super Jump counter
7E:E014 Lucky Jewel counter
7E:E020 Fire Orb stuff? check anim script, dunno what it does

7E:E7E0-FD Items stolen from Croco battle event?

7E:FA00
7E:FA02-3 total XP gained from battle
7E:FA04-5 total coins gained from battle
7E:FA06-7 won item
7E:FA08-B ----
7E:FA0C current FP
7E:FA0D max FP
7E:FA0E monster formation byte 2
7E:FA0F monster formation byte 1
7E:FA1C	special byte (Only intro Bowser fight uses this)
7E:FA1D	battle event
7E:FA1E bit 0,1 Can't Run, bit 2-7 battle music
7E:FA1F bit 0	lucky (ie. run Yoshi egg game at end of battle))

CHARACTER BATTLE STATS - Slot 1
7E:FA80 mortal status
7E:FA81 character byte

7E:FA90 Level
7E:FA91 Current HP (2 bytes)
7E:FA93 Maximum HP (2 bytes)
7E:FA95 Speed
7E:FA96 Attack
7E:FA97 Defense
7E:FA98 Magic Attack
7E:FA99 Magic Defense
7E:FA9A Current EXP (2 bytes)
7E:FA9C equipped weapon
7E:FA9D equipped armor
7E:FA9E equipped accessory
7E:FA9F unused byte*
7E:FAA0 spell list (4 bytes)

7E:FABE	current battle memory block address
7E:FAC0 status (ailments, if any)
7E:FAC1 status bonuses
7E:FAC4 
7E:FAC5 amount of damage to display

7E:FAF0 modified speed
7E:FAF2 modified attack
7E:FAF4 modified defense
7E:FAF6 modified mg.attack
7E:FAF8 modified mg.defense

7E:FB00-FB7F Slot 2
7E:FB80-FBFF Slot 3

MONSTER BATTLE STATS - Slots 1-8
7E:FC00 mortal status
	bit 6: disable target
	bit 7: remove target
7E:FC01 monster byte

7E:FC11 Current HP (2 bytes)
7E:FC13 Maximum HP (2 bytes)
7E:FC15 Speed
7E:FC16 Attack
7E:FC17 Defense
7E:FC18 Magic Attack
7E:FC19 Magic Defense
7E:FC1A Current FP
7E:FC1B Evade%
7E:FC1C Magic Evade%
7E:FC1D Special Flags
7E:FC1E 
7E:FC1F 
7E:FC20 lower bits: Attack Sound (approach)
        upper bits: Elemental Weaknesses (mirrored to 4D)
7E:FC21 
7E:FC22 entrance style byte
7E:FC2C coin animation
7E:FC2D flower bonus
7E:FC2E entrance style bits
7E:FC2F hit sounds
7E:FC37 targetting cursor X coordinate
7E:FC38 targetting cursor Y coordinate
7E:FC3B ??? coordinates?
7E:FC3C ??? coordinates?
7E:FC3D elevation
7E:FC3E ???
7E:FC3F ???
7E:FC41 special defense 
	01 invulnerable
	02 Mortality protection (death/morph protection)
7E:FC45 amount of damage to display
7E:FC46 heal bit

7E:FC4C Ineffective Elements
7E:FC4D Weakness to Elements
7E:FC4E Ineffective AILments

7E:FC80-FFFF slot 5 - 8 (128 bytes each)

7F:F40A Room 1 to Room 2 event
7F:F42E Room 1 to Room 2 screen darkening

7F:B6CE battle-prone sprites
7F:B6CF movement of monsters on screen

7F:8000-7F:AFFF	physical tile properties (1024 tiles, 12 bytes each)

7F:F41C pointer to room byte

CHARACTER OVERWORLD STATS - Mario
7F:F800 current level
7F:F801 current HP (2 bytes)
7F:F803 maximum HP (2 bytes)
7F:F805 speed
7F:F806 attack
7F:F807 defense
7F:F808 magic attack
7F:F809 magic defense
7F:F80A experience (2 bytes)
7F:F80C equipped weapon
7F:F80D equipped armor
7F:F80E equipped accessory
7F:F80F unused byte*
7F:F810	spell list (4 bytes)

7F:F814-7F:F827 Toadstool
7F:F828-7F:F83B Bowser
7F:F83C-7F:F84F Geno
7F:F850-7F:F863 Mallow

7F:F864-7F:F881 Equipment
7F:F882-7F:F89F Items
7F:F8A0-7F:F8AE Special Items

7F:F8AF Current Coins (2 bytes)
7F:F8B1 Current FP
7F:F8B2 Max FP
7F:F8B3 Current Frog Coins (2 bytes)
7F:F8B5-C File's Name
7F:F8BD Jump power increment counter
7F:F8C0 Super Jump record

7F:FCCF	current area (based on Map Point name)

*based on careful observation, this byte is apparently never used

NOTE: SMRPG does not use an absolute address for storing final damage/health (i.e 7E:????).
      It uses a direct page, $C2, and subtracts/adds the result (after stat modifications) from
      current HP and uses difference/sum to determine outcome (this is all determined before
      the actual attack/spell animation and final damage digit display). Thus, it is impossible
      to directly edit the final damage through a PAR code.

JOYPAD REGISTER BITS
--------------------
0010   R
0020   L
0040   X
0080   A
0100   right
0200   left
0400   down
0800   up
1000   START
2000   SELECT
4000   Y
8000   B